#ifndef INCLUDED_JExternalObject
#define INCLUDED_JExternalObject

#ifndef HXCPP_H
#include <hxcpp.h>
#endif

HX_DECLARE_CLASS0(JExternalObject)


class JExternalObject_obj : public hx::Interface{
	public:
		typedef hx::Interface super;
		typedef JExternalObject_obj OBJ_;
		HX_DO_INTERFACE_RTTI;
};

#define DELEGATE_JExternalObject \


template<typename IMPL>
class JExternalObject_delegate_ : public JExternalObject_obj
{
	protected:
		IMPL *mDelegate;
	public:
		JExternalObject_delegate_(IMPL *inDelegate) : mDelegate(inDelegate) {}
		hx::Object *__GetRealObject() { return mDelegate; }
		DELEGATE_JExternalObject
};


#endif /* INCLUDED_JExternalObject */ 
